package com.yunhe.option.service.base.impl;

import com.yunhe.option.domain.base.VoltageLevel;
//import com.yunhe.common.model.base.VoltageLevelDTO;
import com.yunhe.option.repository.base.VoltageLevelRepository;
import com.yunhe.option.service.base.VoltageLevelService;
import com.yunhe.common.util.QueryUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class VoltageLevelServiceImpl implements VoltageLevelService {

    @Autowired
    private VoltageLevelRepository voltageLevelRepository;

//    private Iterable<VoltageLevelDTO> do2dto(Iterable<VoltageLevel> voltageLevels) {
//        if (voltageLevels instanceof Page) {
//            Page<VoltageLevel> page = (Page<VoltageLevel>) voltageLevels;
//            List<VoltageLevel> content = page.getContent();
//            return new PageImpl<>(do2dto(content), page.getPageable(), page.getTotalElements());
//        } else {
//            return do2dto((List<VoltageLevel>) voltageLevels);
//        }
//    }
//
//    private VoltageLevelDTO do2dto(VoltageLevel voltageLevel) {
//        VoltageLevelDTO dto = new VoltageLevelDTO();
//        BeanUtils.copyProperties(voltageLevel, dto);
//        return dto;
//    }
//
//    private List<VoltageLevelDTO> do2dto(List<VoltageLevel> voltageLevels) {
//        List<VoltageLevelDTO> dtoList = new ArrayList<>();
//        for (VoltageLevel voltageLevel : voltageLevels) {
//            dtoList.add(do2dto(voltageLevel));
//        }
//        return dtoList;
//    }

    /**
     * 根据条件查找电压等级
     * @param costPriceId
     * @return
     */
    @Transactional
    @Override
    public Iterable<VoltageLevel> search(Long costPriceId) {
        if(costPriceId != null){
            return voltageLevelRepository.findByCostPriceId(costPriceId);
        }
        return voltageLevelRepository.findAll(QueryUtil.defaultSort());
    }
}
